package org.bw.bookstore.book.service;

import org.bw.bookstore.common.entity.TbOrderRecord;
import org.bw.bookstore.common.entity.TbPayRecord;
import org.bw.bookstore.common.utils.ResponseResult;

/**
 * @Description 订单接口
 * @Author:钟乐
 * @Create:2020-10-22 10:36
 **/

public interface OrderService {

    /**
     　　* TODO 钟乐-生成订单记录
     　　* @Param [bookSingle, userInfo]
     　　* @return com.bw.common.utils.ResponseResult
     　　* @author 钟乐
     　　* @date 2020/10/20 10:07
     　　*/
    ResponseResult createOrderRecord(TbOrderRecord orderRecord, String rfids);

    /**
     　　* TODO 钟乐-查看单个订单记录
     　　* @Param [orderRecordId]
     　　* @return com.bw.common.utils.ResponseResult
     　　* @author 钟乐
     　　* @date 2020/10/20 10:49
     　　*/
    ResponseResult findOneOrderRecordOnline(String userInfoCode);

    /**
     　　* TODO 钟乐-取消订单
     　　* @Param [orderRecordId]
     　　* @return com.bw.common.utils.ResponseResult
     　　* @author 钟乐
     　　* @date 2020/10/20 10:07
     　　*/
    ResponseResult cancelOrderRecord(String userInfoCode,Integer orderRecordId);

    /**
     　　* TODO 钟乐-生成支付记录
     　　* @Param [payRecord]
     　　* @return com.bw.common.utils.ResponseResult
     　　* @author 钟乐
     　　* @date 2020/10/20 10:07
     　　*/
    ResponseResult createPayRecord(TbPayRecord payRecord);

    /**
     　　* TODO  钟乐-修改书籍单品状态
        * 生成支付记录后将书籍单品的状态修改为已售卖
     　　* @Param [rfid]
     　　* @return com.bw.utils.ResponseResult
     　　* @author 钟乐
     　　* @date 2020/10/21 19:34
     　　*/
    ResponseResult updateBookSingleStatus(String rfids);

    /**
     　　* TODO 钟乐-微信支付
     　　* @Param []
     　　* @return javax.naming.spi.ResolveResult
     　　* @author 钟乐
     　　* @date 2020/10/20 10:07
     　　*/
    ResponseResult weChatPay();

    /**
     　　* TODO 钟乐-app支付
     　　* @Param []
     　　* @return javax.naming.spi.ResolveResult
     　　* @author 钟乐
     　　* @date 2020/10/20 10:07
     　　*/
    ResponseResult appPayment();

    /**
     * @Description
     * TODO 孙冬雪--> checkBookSingleNoPay 返回未付款书籍详情
     * @Param [rfids]
     * @Return com.bw.servercommon.utils.ResponseResult
     * @Author 孙冬雪
     * @Date 2020/10/23 18:33
     **/
    ResponseResult checkBookSingleNoPay(String rfids);


    /**
    　　* TODO  findPayRecordById--用户查看自己的支付记录
    　　* @Param [userInfoCode]
    　　* @return com.bw.common.utils.ResponseResult
    　　* @author 钟乐
    　　* @date 2020/10/30 8:35
    　　*/
    ResponseResult findPayRecordById(String userInfoCode);

    /**
     　　* TODO  createOrderRecord1--用户选择书籍与数量然后生成订单记录
     　　* @Param [orderRecord, code, num]
     　　* @return com.bw.common.utils.ResponseResult
     　　* @author 钟乐
     　　* @date 2020/11/1 20:46
     　　*/
    ResponseResult createOrderRecord1(TbOrderRecord orderRecord, String code, Integer num);
}
